music_table = \
(
	("0", "0", "0", "0"),
    ("3++", "2++#", "2++", "1++#", "2++", "1++#", "1++", "7+"),
    ("1++", "7+", "6+#", "6+", "5+#", "5+", "4+#", "4+"),
    ("3+", "2+#", "2+", "1+#", "2+", "1+#", "1+", "7"),
    ("1+", "7", "6#", "6", "5#", "5", "4#", "4"),

    ("3", "2#", "2", "1#", "2", "1#", "1", "7-"),
    ("3", "2#", "2", "1#", "2", "1#", "1", "7-"),
    ("3", "2#", "2", "1#", "2", "1#", "1", "7-"),
    ("3", "2#", "2", "1#", "2", "1#", "1", "7-"),

    # 9
    ("3", "2#", "2", "1#", "1", "4", "3", "2#"),
    ("3", "2#", "2", "1#", "1", "1#", "2", "2#"),
    ("3", "2#", "2", "1#", "1", "4", "3", "2#"),
    ("3", "2#", "2", "1#", "1", "1#", "2", "2#"),

    # 13
    ("3", "2#", "2", "1#", "2", "1#", "1", "7-"),
    ("1", "1#", "2", "2#", "3", "4", "3", "2#"),
    ("3", "2#", "2", "1#", "2", "1#", "1", "7-"),
    ("1", "1#", "2", "2#", "3", "4#", "5", "5#"),

    # 17
    ("6", "5#", "5", "4#", "4", "6#", "6", "5#"),
    ("6", "5#", "5", "4#", "4", "4#", "5", "5#"),
    ("6", "5#", "5", "4#", "4", "6#", "6", "5#"),
    ("6", "5#", "5", "4#", "4", "4#", "5", "5#"),

    #21
    ("6", "5#", "5", "4#", "5", "4#", "4", "3"),
    ("4", "4#", "5", "5#", "6", "6#", "6", "5#"),
    ("6", "5#", "5", "4#", "5", "4#", "4", "3"),
    ("4", "4#", "5", "5#", "6", "6#", "6", "5"),

    #25
    ("6", "6-", "5-#", "7-", "5-#", "7-", "5-#", "7-"),
    ("6-#,5-#", "6#,6-", "6-#,5-#", "6#,6-", "6-#,5-#", "6#,6-", "6-#,5-#", "6#,6-"),
    ("6", "6", "5#", "6", "5#", "6", "5#", "6"),
    ("6#,5#", "6+#,6", "6#,5#", "6+#,6", "6#,5#", "6+#,6", "6#,5#", "6+#,6"),

    # 29
    ("6", "6#", "6", "5#", "6", "6#", "6", "5#"),
    ("6", "6#", "6", "5#", "6", "6#", "6", "5#"),
    ("6", "6#", "7", "1+", "1+#", "1+", "7", "6#"),
    ("6", "6#", "7", "1+", "1+#", "1+", "7", "6#"),

    # 33
    ("6", "6-", "5-#", "7-", "5-#", "7-", "5-#", "7-"),
    ("2#,1#", "2+#,2", "2#,1#", "2+#,2", "2#,1#", "2+#,2", "2#,1#", "2+#,2"),
    ("2+", "2+", "1+#", "2+", "1+#", "2+", "1+#", "2+"),
    ("2+#,1+#", "2++#,2+", "2+#,1+#", "2++#,2+", "2+#,1+#", "2++#,2+", "2+#,1+#", "2++#,2+"),

    # 37
    ("2+", "2+#", "2+", "1+#", "2+", "2+#", "2+", "1+#"),
    ("2+", "2+#", "2+", "1+#", "2+", "2+#", "2+", "1+#"),
    ("2+", "2+#", "3+", "4+", "4+#", "4+", "3+", "2+#"),
    ("2+", "2+#", "3+", "4+", "4+#", "4+", "3+", "2+#"),

    # 41
    ("2+", "1+#", "1+", "7", "0", "2++#", "2++", "1++#"),
    ("2++", "1++#", "1++", "7+", "6+#", "7+", "1++", "1++#"),
    ("2++", "1++#", "1++", "7+", "1++", "7+", "6+#", "6+"),
    ("6+#", "7+", "1++", "1++#", "1++", "1++#", "2++", "2++#"),

    # 45
    ("3++", "2++#", "2++", "1++#", "2++", "1++#", "1++", "7+"),
    ("1++", "7+", "6+#", "6+", "5+#", "5+", "4+#", "4+"),
    ("3+", "4+", "3+", "2+#", "3+", "4+", "3+", "2+#"),
    ("3+", "4+", "3+", "2+#", "3+", "4+", "3+", "2+#"),

    # 49
    ("0", "4", "3", "2#", "3", "4", "3", "2#"),
    ("3", "4", "3", "2#", "3", "4", "3", "2#"),
    ("3", "2#", "2", "1#", "2", "1#", "1", "7-"),
    ("0", "0"),

    # 53
    ("0", "0"),
    ("0", "0"),
    ("0", "-", "3+,1+", "1+,6"),
    ("6,4", "4,1#", "6,4", "1+,6"),

    # 57
    ("3+,1+", "0", "3++,1++,6+", "1++,6+,3+"),
    ("6+,4+,1+", "4+,1+,6", "6+,4+,1+", "1++,6+,3+"),
    ("3++,1++,6+", "0", "0", "0", "3", "4", "4#", "5"),
    ("5#", "6", "6#", "7", "1+", "1+#", "2+", "2+#"),

    # 61
    ("3+", "4+", "4+#", "5+", "5+#", "6+", "6+#", "7+"),
    ("1++", "1++#", "2++", "2++#", "3++", "4+", "3+", "2+#"),
    ("6+,3+", "2+#", "2+", "1+#", "1+", "4+", "3+", "2+#"),
    ("3+", "2+#", "2+", "1+#", "6+,1+", "1+#", "2+", "2+#"),

    # 65
    ("6+,3+", "2+#", "2+", "1+#", "1+", "4+", "3+", "2+#"),
    ("3+", "2+#", "2+", "1+#", "6+,1+", "1+#", "2+", "2+#"),
    ("6+,3+", "2+#", "2+", "1+#", "2+", "1+#", "1+", "7"),
    ("1+", "1+#", "2+", "2+#", "3+", "4+", "3+", "2+#"),

    # 69
    ("3+", "2+#", "2+", "1+#", "2+", "1+#", "1+", "7"),
    ("1+", "1+#", "2+", "2+#", "3+", "4+#", "5+", "5+#"),
    ("6+", "5+#", "5+", "4+#", "4+", "6+#", "6+", "5+#"),
    ("6+", "5+#", "5+", "4+#", "2++,4+", "4+#", "5+", "5+#"),

    # 73
    ("2++,6+", "5+#", "5+", "4+#", "4+", "6+#", "6+", "5+#"),
    ("6+", "5+#", "5+", "4+#", "2++,4+", "4+#", "5+", "5+#"),
    ("2++,6+", "5+#", "5+", "4+#", "5+", "4+#", "4+", "3+"),
    ("4+", "4+#", "5+", "5+#", "6+", "6+#", "6+", "5+#"),

    # 77
    ("6+", "5+#", "5+", "4+#", "4+", "4+#", "5+", "5+#"),
    ("6+", "7+", "1++", "2++", "3++", "4++", "3++", "2++#"),
    ("3++", "2++#", "2++", "1++#", "1++", "4++", "3++", "2++#"),
    ("3++", "2++#", "2++", "1++#", "6++,1++", "1++#", "2++", "2++#"),

    # 81
    ("6++,3++", "2++#", "2++", "1++#", "1++", "4++", "3++", "2++#"),
    ("3++", "2++#", "2++", "1++#", "6++,1++", "1++#", "2++", "2++#"),
    ("6++,3++", "-", "5+#", "6+", "6+#", "7+", "1++", "1++#"),
    ("2++", "1++#", "1++", "7+", "1++", "7+", "6+#", "6+"),

    # 85
    ("5+#", "6+", "6+#", "7+", "1++", "1++#", "2++", "2++#"),
    ("3++", "4++", "3++", "2++#", "3++", "4++", "3++", "2++#"),
    ("3++", "-", "5++#", "6++", "6++#", "7++", "1+++", "1+++#"),
    ("2+++", "1+++#", "1+++", "7++", "1+++", "7++", "6++#", "6++"),

    # 93
    ("6++", "5++#", "5++", "4++#", "5++", "4++#", "4++", "3++"),
    ("4++", "3++", "3++#", "2++", "1++#", "1++", "7+", "7+"),
    ("6+", "6+#", "6+", "5+#", "6+", "6+#", "6+", "5+"),
    ("6+", "-", "6+#", "7+", "1++", "1++#", "2++", "2++#"),

    # 97
    ("3++", "4++", "3++", "2++#", "3++", "4++", "3++", "2++#"),
    ("3++", "-", "2++#", "3++", "4++", "4++#", "5++", "5++#"),
    ("6+", "-", "0", "-", "3+", "4+", "4+#", "5+"),
    ("5+#", "6+", "6+#", "7+", "1++", "1++#", "2++", "2++#"),

    # 101
    ("3++", "4++", "4++#", "5++", "5++#", "6++", "6++#", "7++"),
    ("1+++", "1+++#", "2+++", "2+++#", "3+++", "4+++#", "5+++", "5++#"),
    ("6+++,1+++", "0", "0", "0"),

    # 104
    ("6+,3+,1+,6", "-", "-", "-"),
    ("6-", "0", "0", "0"),

    
)

music_table_2 = \
(
    ("0", "0", "0", "0"),
    ("0", "0"),
    ("0", "0"),
    ("0", "0"),
    ("0", "0"),

    ("0", "0"),
    ("0", "0"),
    ("0", "0"),
    ("0", "0"),

    ("1,3-,6--", "0", "-", "-"),
    ("1,3-,6--", "0", "6-,4-#,2-", "0"),
    ("1,3-,6--", "0", "-", "-"),
    ("1,3-,6--", "0", "6-,4-#,2-", "0"),

    # 13
    ("1,3-,6--", "0", "6-,4-", "0"),
    ("6-,3-", "0", "7-,5-#,2-", "0"),
    ("6-,3-,1-", "0", "2-,6--,4--", "0"),
    ("1-,6--,3--", "0", "7--,3--,2--", "0"),

    # 17
    ("3-,6--,1--", "0", "4-,6--,2--", "0"),
    ("0", "0", "7-,5-,2-", "0"),
    ("2,6-,4-", "0", "0", "0"),
    ("6-,2-,4--", "0", "7-,5-,2-", "0"),

    #21
    ("2,6-,4-", "0", "1#,6-#", "0"),
    ("1,6-", "0", "1#,5-,3-", "0"),
    ("6-,4-,2-", "0", "5-,2-,6--#", "0"),
    ("4-,2-,6--", "0", "3-,1-#,5--", "0"),

    #25
    ("2-,6--,4--", "0", "0", "0"),
    ("0", "0", "0", "0"),
    ("6-", "0", "0", "0"),
    ("0", "0", "0", "0"),


    # 29
    ("0", "0", "0", "0"),
    ("6-", "6-#,5-#", "7-,5-", "1,4-#"),
    ("1#,6-,4-", "-", "-", "-", "6+", "6+#", "7+", "1++"),
    ("1++#", "1++", "7+", "6+#", "6+", "-", "0", "0"),

    # 33
    ("2,6-,4-#", "0", "0", "0"),
    ("0", "0", "0", "0"),
    ("6-", "0", "0", "0"),
    ("0", "0", "0", "0"),

    # 37
    ("0", "0", "0", "0"),
    ("2", "2#,1#", "3,1", "4,7-"),
    ("4#,2,6-#", "-", "-", "-", "2++", "2++#", "3++", "4++"),
    ("4++#", "4++", "3++", "2++#", "2++", "-", "0", "0"),

    # 41
    ("5,2,6-#,5-", "0", "6#", "2+#"),
    ("2+", "0", "4+#,2+#,1+", "0"),
    ("4+,2+,6#", "0", "2+#,1+,4#", "0"),
    ("2+,6#,5", "0", "1+#,6,4", "2+,2+#"),

    # 45
    ("3+,5#,3", "-", "0", "-", "3+", "4+", "3+", "4+"),
    ("3+", "4+", "3+", "4+", "3+", "4+", "3+", "4+"),
    ("0", "-", "-", "-", "3", "0", "1", "0"),
    ("6-", "0", "4-", "0", "6-", "0", "1", "0"),

    # 49
    ("3", "-", "-", "-", "3-,3--", "0", "1-,1--", "0"),
    ("6--,6---", "0", "4--,4---", "0", "6--,6---", "0", "1-,1--", "0"),
    ("3-,3--", "0", "0", "0"),
    ("1", "7-", "6-#", "6-", "5-#", "5-", "4-#", "4-"),  

    # 53
    ("3-", "4-", "3-", "2-#", "3-", "4-", "3-", "2-#"),
    ("3-", "4-", "3-", "2-#", "3-", "4-", "3-", "2-#"),
    ("3-", "4-", "3-", "2-#", "3-", "4-", "3-", "2-#"),
    ("3-", "4-", "3-", "2-#", "3-", "4-", "3-", "2-#"),

    # 57
    ("3-", "4-", "3-", "2-#", "3-", "4-", "3-", "2-#"),
    ("3-", "4-", "3-", "2-#", "3-", "4-", "3-", "2-#"),
    ("3-", "4-", "3-", "2-#", "3-", "-", "0", "0"),
    ("4,1", "0", "5#,3", "0"),

    # 61
    ("1+,5", "0", "4+,1+", "0"),
    ("5+#,2+#", "0", "1++,5+,3+", "0"),
    ("6,3,1,6-", "0", "0", "0"),
    ("6,3,1,6-", "0", "6,2,6-,4-#", "0"),

    # 65
    ("6,3,1,6-", "0", "0", "0"),
    ("6,3,1,6-", "0", "6,2,6-,4-#", "0"),
    ("6,3,1,6-", "0", "2,6-,4-#", "0"),
    ("1,6-,3-", "0", "7-,3-,2-", "0"),

    # 69
    ("6-,3-,1-", "0", "2-,6--,4--", "0"),
    ("1-,6--,3--", "0", "7--,3--,2--", "0"),
    ("3-,6--,1--#", "0", "4-,6--,2--", "0"),
    ("0", "0", "2,5-,7--", "0"),

    # 73
    ("4,6-,2-", "0", "0", "0"),
    ("6-,2-,4--", "0", "2,5-,7--", "0"),
    ("4,6-,2-", "0", "5-,2-,6--#", "0"),
    ("4-,2-,6--", "0", "3-,1-#,5--", "0"),

    # 77
    ("2-,6--,4--", "0", "6-,4-,2-", "0"),
    ("6-,3-,1-", "0", "7-,5-#,3-,7--", "0"),
    ("1,3-,6--", "6,3,1", "0", "0"),
    ("1,3-,6--", "0", "6-,2-,4--#", "0"),

    # 81
    ("1,3-,6--", "0","6,3,1", "0", "0", "0", "0", "0"),
    ("1,3-,6--", "0", "6-,2-,4--#", "0"),
    ("1,3-,6--", "0", "6", "4"),
    ("2,4-", "7-", "2", "4"),  

    # 85
    ("6,3,1", "3-"),
    ("5#,3,2", "0"),
    ("6,3,1,6-", "-", "0", "-", "6+,1+", "0", "4+,6", "0"),
    ("2+,4", "0", "6,2", "0", "2+,4", "0", "4+,6", "0"),

    # 89
    ("6+,1+", "3"),
    ("5+#,3+,2+", "0"),
    ("6+,3+,1+,6", "0", "6#,5,1#", "0"),
    ("6,4,2,6-", "0", "0", "0"),

    # 93
    ("6,3,1,6-", "0", "1#,6#,5-", "0"),
    ("2,6-,4-", "0", "6--", "0"),
    ("1,3-", "0", "0", "0", "6,5#", "6#", "6,5#", "6#"),
    ("6,5#", "6,5", "6#,4#", "7,4"),

    # 97
    ("1+,6,3", "0", "0", "0", "3+,2+#", "4+", "3+,2+#", "4+"),
    ("3+,2+#", "4+#,2+", "5+,1+", "5+#,7"),
    ("6+,3+,1+,6", "0", "0", "0"),
    ("1+,3,6-", "0", "0", "0"),

    # 101
    ("4+,1+,6", "0", "5+#,2+#,1+", "0"),
    ("1++,6+,3+", "0", "0", "0", "3++,5#", "2++", "1++", "7+"),
    ("3++,6", "0", "0", "0"),

    ("3,1,6,3-",),
    ("6--",),
)

import sys
sys.path.append('../../')
sys.path.append('../../../../')
if __name__ == "__main__":
    import piano.music_translate2 as music_translate
    music_parse = music_translate.music_trans([music_table, music_table_2], beat = 290)
    music_parse.music_to_play_table()
    music_parse.play_music()